In today's society, users are increasingly utilizing network and other service providers to gain access to the Internet, access software services, request and receive various types of content, access software applications, and perform a variety of other tasks and functions. However, some media content, services, and software applications are much more popular with users than other media content, services, and applications. In order to handle large volumes of requests from users requesting popular content, services, and applications, content providers often utilize content distribution networks and systems to serve the content and provide the services to the users in a more effective manner. This is particularly true when high performance, reliability, scalability, and cost savings associated with distributing the content and providing the services are important to the content providers that provide the content, services, and software applications.
Today, one of the techniques that is most frequently used to provide content is adaptive bit rate streaming. With adaptive bit rate streaming, content providers encode content at different bit rates so that different versions of the content may be made accessible to the users based on each of the user's available bandwidth resources. The content providers typically make each of the different encoded versions of the content accessible to network providers of the users so that the users may obtain the appropriate version of the content via the network providers' networks. Content providers distributing adaptive bit rate content are typically on networks with no predetermined bandwidth capacity constraints, and clients of such networks often request content at the best rate appropriate for the congestion conditions each client experiences. However, the network provider networks often do not have control over the content providers and often require fixed bandwidth constraints based on the large numbers of users that the network providers have on their networks.
When conditions on the upstream content provider networks permit, intermediary devices requesting content for the users from the content provider may select the highest rate content available from the content provider. However, the selection of the highest rate content available may exceed the allocated and fixed bandwidth constraints that have been set for the network provider networks and their users. As a result, when a device transmits the selected stream of the content at a rate exceeding the allocated and fixed bandwidth constraints associated with the network provider network, the users receiving the streams may experience quality degradation when accessing the content. A possible solution to this problem is to set a bandwidth limit on the encoder and, in addition, utilizing buffering. However, this solution is only feasible in situations where the encoder is in the control of the network provider. More often than not, however, the content provider distributes encoded content to the network provider.